package gov.dhs.cis.soa.data;

import gov.dhs.cis.soa.Utils;
import gov.dhs.cis.soa.Constants.EntityType;


public abstract class AbstractSOAData {
	public String xmiID = "";
	public String relWave = "";
	
	public String getUMLId() {
		return getUMLType() + "_" + Utils.hash(getHashableId());
	}

	public String getUMLId(String ownedPrefix) {
		if(Utils.isEmpty(ownedPrefix))
			return getUMLId();
		return getUMLType() + "_" + Utils.hash(ownedPrefix + "_" + getHashableId());
	}

	public abstract long getId();
	public abstract String getHashableId();
	public abstract EntityType getUMLType();
}
